package com.itextpdf.testutils;
import com.itextpdf.text.DocumentException;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
import org.junit.Before;
import org.junit.Test;
import org.xml.sax.SAXException;
import junit.framework.Assert;
public class CompareToolTest {
private static final String OUT_PATH = "./target/com/itextpdf/testutils/CompareToolTest/";
private static final String RESOURCE_PATH = "./src/test/resources/com/itextpdf/testutils/CompareToolTest/";
@Before
public void setUp() {
File dest = new File(OUT_PATH);
dest.mkdirs();
File[] files = dest.listFiles();
if (files != null) {
for (File file : files) {
file.delete();
}
}
}
@Test
public void compareToolErrorReportTest01() throws DocumentException, InterruptedException, IOException, ParserConfigurationException, SAXException {
CompareTool compareTool = new CompareTool();
compareTool.setCompareByContentErrorsLimit(10);
compareTool.setGenerateCompareByContentXmlReport(true);
compareTool.setXmlReportName("report01");
String outPdf = RESOURCE_PATH + "simple_pdf.pdf";
String cmpPdf = RESOURCE_PATH + "cmp_simple_pdf.pdf";
String result = compareTool.compareByContent(outPdf, cmpPdf, OUT_PATH, "difference");
System.out.println(result);
Assert.assertNotNull("CompareTool must return differences found between the files", result);
// Comparing the report to the reference one.
Assert.assertTrue("CompareTool report differs from the reference one", compareTool.compareXmls(RESOURCE_PATH + "cmp_report01.xml", OUT_PATH + "report01.xml"));
}
@Test
public void compareToolErrorReportTest02() throws IOException, InterruptedException, DocumentException, ParserConfigurationException, SAXException {
CompareTool compareTool = new CompareTool();
compareTool.setCompareByContentErrorsLimit(10);
compareTool.setGenerateCompareByContentXmlReport(true);
compareTool.setXmlReportName("report02");
String outPdf = RESOURCE_PATH + "tagged_pdf.pdf";
String cmpPdf = RESOURCE_PATH + "cmp_tagged_pdf.pdf";
String result = compareTool.compareByContent(outPdf, cmpPdf, OUT_PATH, "difference");
System.out.println(result);
Assert.assertNotNull("CompareTool must return differences found between the files", result);
// Comparing the report to the reference one.
Assert.assertTrue("CompareTool report differs from the reference one", compareTool.compareXmls(RESOURCE_PATH + "cmp_report02.xml", OUT_PATH + "report02.xml"));
}
@Test
public void compareToolErrorReportTest03() throws DocumentException, InterruptedException, IOException, ParserConfigurationException, SAXException {
CompareTool compareTool = new CompareTool();
compareTool.setCompareByContentErrorsLimit(10);
compareTool.setGenerateCompareByContentXmlReport(true);
compareTool.setXmlReportName("report03");
String outPdf = RESOURCE_PATH + "screenAnnotation.pdf";
String cmpPdf = RESOURCE_PATH + "cmp_screenAnnotation.pdf";
String result = compareTool.compareByContent(outPdf, cmpPdf, OUT_PATH, "difference");
System.out.println(result);
Assert.assertNotNull("CompareTool must return differences found between the files", result);
// Comparing the report to the reference one.
Assert.assertTrue("CompareTool report differs from the reference one", compareTool.compareXmls(RESOURCE_PATH + "cmp_report03.xml", OUT_PATH + "report03.xml"));
}
}